home *** CD-ROM | disk | FTP | other *** search
-
-
-
- aaaattttmmmmssssiiiiggggdddd((((1111MMMM)))) aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
-
-
-
- NNNNAAAAMMMMEEEE
- atmsigd - signalling daemon for ATM switched virtual circuits
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ////uuuussssrrrr////eeeettttcccc////aaaattttmmmmssssiiiiggggdddd [ ----dddd ]
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The aaaattttmmmmssssiiiiggggdddd is a daemon which works in conjunction with the atm driver to
- set up and tear down switched virtual circuits over ATM. The daemon can
- be configured to support the signalling protocol as defined in either
- version 3.0 or 3.1 of the ATM Forum's User-Network Interface (UNI)
- specification.
-
- The only command line option for aaaattttmmmmssssiiiiggggdddd is:
-
- ----dddd which runs it in daemon mode, i.e. as a background process without
- standard input or output, logging only critical errors to
- /usr/adm/SYSLOG. Without the ----dddd option, aaaattttmmmmssssiiiiggggdddd runs in interactive
- mode, with a higher (controllable) level of verbosity. Typically
- aaaattttmmmmssssiiiiggggdddd is invoked at system boot from /etc/init.d/atm in daemon
- mode.
-
- When run in interactive mode (without the ----dddd option), the aaaattttmmmmssssiiiiggggdddd takes
- its commands, phrased in TCL syntax, from stdin. When running in daemon
- mode, there is no standard input, and the daemon reads the file
- /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l instead, so all configuration commands for the
- daemon should be placed in that file. In interactive mode, the aaaattttmmmmssssiiiiggggdddd
- does not automatically read that file, but will do so if it receives the
- command "source /var/atm/atmsigd.tcl" from stdin.
-
- Running the aaaattttmmmmssssiiiiggggdddd in interactive mode is helpful when debugging but
- should rarely be required. If you need to do so, proceed with extreme
- caution. In order to run the aaaattttmmmmssssiiiiggggdddd in interactive mode, you first need
- to kill the daemon-mode aaaattttmmmmssssiiiiggggdddd that was started at boot time by
- /etc/init.d/atm. But before you issue the command to "killall atmsigd",
- make sure that all applications using SVCs are first killed. Also make
- sure that all IP ATM network interfaces using SVCs are ifconfig-ed down
- first. To start up a new aaaattttmmmmssssiiiiggggdddd in interactive mode, invoke the command
- /_u_s_r/_e_t_c/_a_t_m_s_i_g_d. You will see a %%%% prompt on your screen, which is your
- cue to enter commands to the aaaattttmmmmssssiiiiggggdddd. If you want it to execute the usual
- commands, type _s_o_u_r_c_e /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l at the prompt. Then continue
- with any other special commands you may have. Once the signalling stacks
- are built, you can restart any applications using SVCs as well as
- _i_f_c_o_n_f_i_g up all the IP network interfaces that you took down earlier.
-
- If you just want to turn on tracing in the aaaattttmmmmssssiiiiggggdddd, and don't want to
- have to kill and restart the aaaattttmmmmssssiiiiggggdddd by hand, you can do so by adding
- verbosity commands (described below) to the command file
- /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l and changing the startup script. Make sure that the
- verbosity commands are added _a_f_t_e_r the build commands as they must apply
- to existing layers. After you have edited the atmsigd.tcl command file,
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- aaaattttmmmmssssiiiiggggdddd((((1111MMMM)))) aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
-
-
-
- change the line in /etc/init.d/atm that reads
- /usr/etc/atmsigd -d
- so that it runs non-daemon mode, _i_n _t_h_e _b_a_c_k_g_r_o_u_n_d, with output
- redirected to a suitable tracefile. For example:
- echo 'source /var/atm/atmsigd.tcl' | /usr/etc/atmsigd \
- > /usr/tmp/sigd.trace &
- Make very sure that the final '&' background character is present because
- running in the foreground will hang everything after it in the boot
- process. This can generate a fair amount of output as well as slow down
- signalling, so should not be left turned on permanently. Note that if
- verbosity commands are left in the tcl file, but the aaaattttmmmmssssiiiiggggdddd is run in
- daemon-mode, there is no stdout and hence no output, but the tracing
- overhead is still there, so it is recommended that the verbosity commands
- be removed when not needed.
-
- The aaaattttmmmmssssiiiiggggdddd has a number of internal modules:
-
- _a_a_l_5_a_t_m This is the layer that deals with sending and receiving AAL5
- frames on the signalling channel for that UNI. The ATM Forum
- has defined VPI 0, VCI 5 as the standard signalling channel.
-
- _q_s_a_a_l This module enforces the _S_e_r_v_i_c_e _S_p_e_c_i_f_i_c _C_o_n_n_e_c_t_i_o_n _O_r_i_e_n_t_e_d
- _P_r_o_t_o_c_o_l (SSCOP) specification. SSCOP is a reliable
- connection-oriented protocol which includes retransmission of
- messages that are not acknowledged. This layer can be
- configured, see _b_u_i_l_d TCL commands below, to run supporting
- either the UNI 3.0 referenced version of the specification,
- i.e. ITU Documents DT/11/3-28 (Q.SAAL1), DT/11/3-XX (Q.SAAL2),
- May 17 1993, or the UNI 3.1 referenced version, i.e. ITU-T
- Recommendation Q.2110.
-
- _q_9_3_b This layer handles the actual signalling protocol as defined by
- ATM Forum UNI version 3.0 or 3.1.
-
- _h_c_c This Host Call Control module is the interface to the atm
- driver for requests on call setup and teardown. For instance,
- when a user application issues a call setup request to the atm
- driver, this request is forwarded to the hcc module, which
- later notifies the driver once the call is completed (or
- rejected).
-
- Configuration commands define stack(s) of these 4 layers to be built by
- aaaattttmmmmssssiiiiggggdddd. The aaaattttmmmmssssiiiiggggdddd should be instructed to build an aal5-qsaal-q93b
- stack, identified by a unique stackid, for each port on the system. After
- all the stacks are built, it should be given the command to build a
- single hcc layer over all the stacks. Stacks must be built from bottom up
- (i.e. starting from the aal5 layer).
-
- Besides the standard TCL library commands, aaaattttmmmmssssiiiiggggdddd understands the
- following application-specific ones:
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- aaaattttmmmmssssiiiiggggdddd((((1111MMMM)))) aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
-
-
-
- _B_U_I_L_D _C_O_M_M_A_N_D_S
-
- These commands are used for building module stacks to run over specific
- ATM ports. The general syntax is _b_u_i_l_d <_l_a_y_e_r> <_a_r_g_l_i_s_t>, where <arglist>
- is dependent on <layer>. Specifically,
-
-
- bbbbuuuuiiiilllldddd aaaaaaaallll5555aaaattttmmmm <ssssttttaaaacccckkkkiiiidddd> <ddddeeeevvvviiiicccceeee nnnnaaaammmmeeee> <VVVVPPPPIIII> <VVVVCCCCIIII>
-
- e.g. build aal5atm 1 /hw/atm/0 0 5
-
- where
-
- <_s_t_a_c_k_i_d> some non-zero stack identifier
-
- <_d_e_v_i_c_e _n_a_m_e> the device name of the ATM port to open
-
- <_V_P_I> the Virtual Path Identifier to use for signalling messages
-
- <_V_C_I> the Virtual Channel Identifier to use for signalling
- messages
-
- bbbbuuuuiiiilllldddd qqqqssssaaaaaaaallll <vvvveeeerrrrssssiiiioooonnnn> <ssssttttaaaacccckkkkiiiidddd>
-
- e.g. build qsaal AF30 1
-
- where
-
- <_v_e_r_s_i_o_n> one of _A_F_3_0 or _A_F_3_1 for the ATM Forum's UNI 3.0 or UNI 3.1
- specification of the qsaal layer. Note that the 2 are not
- compatible as most implementations of 3.0 start sequence
- numbering at 0, whereas 3.1 requires the numbering to
- start with 1. If the port is attached to a switch running
- UNI 3.0 software, set this to _A_F_3_0. Otherwise, use _A_F_3_1.
-
- <_s_t_a_c_k_i_d> a non-zero stack identifier. This should be the same as
- the stackid used in the _b_u_i_l_d _a_a_l_5_a_t_m command for the
- underlying aal5 layer for this port.
-
- bbbbuuuuiiiilllldddd qqqq99993333bbbb <vvvveeeerrrrssssiiiioooonnnn> <ssssttttaaaacccckkkkiiiidddd>
-
- e.g. build q93b AF31 1
-
- where
-
- <_v_e_r_s_i_o_n> one of _A_F_3_0 or _A_F_3_1 for the ATM Forum's UNI 3.0 or UNI 3.1
- specification of the q93b layer.
-
- <_s_t_a_c_k_i_d> a non-zero stack identifier. This should be the same as
- the stackid used in the _b_u_i_l_d _a_a_l_5_a_t_m and _b_u_i_l_d _q_s_a_a_l
- commands for the underlying layers on this port.
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- aaaattttmmmmssssiiiiggggdddd((((1111MMMM)))) aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
-
-
-
- bbbbuuuuiiiilllldddd hhhhcccccccc
-
- with no further arguments. This command must be issued _a_f_t_e_r all the
- underlying stacks are completely built. Hcc will not know about any
- stacks built after its own existence.
-
- bbbbuuuuiiiilllldddd ssssttttaaaattttuuuussss
-
- This command causes aaaattttmmmmssssiiiiggggdddd to display the currently built stacks. Note
- that, because the build display goes to standard output, this command is
- a no-op if placed in a TCL script sourced by the aaaattttmmmmssssiiiiggggdddd running in
- daemon mode.
-
- For convenience, a buildstack procedure is defined in the TCL script
- /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l installed with aaaattttmmmmssssiiiiggggdddd:
-
- proc buildstack { stackID devname qsaalVersion q93bVersion } {
- build aal5atm $stackID $devname 0 5
- build qsaal $qsaalVersion $stackID
- build q93b $q93bVersion $stackID
- }
-
- This procedure can be invoked, for instance, as follows:
- buildstack 1 /hw/atm/0 AF30 AF30
- buildstack 2 /hw/atm/1 AF30 AF31
- buildstack 3 /hw/atm/2 AF31 AF31
- build hcc
- which will cause 3 stacks to be built. On the interface atm0, aaaattttmmmmssssiiiiggggdddd
- will run 3.0 versions of qsaal and q93b, over atm1 it will run the 3.0
- version of qsaal and 3.1 version of q93b, and atm2 will have UNI 3.1
- versions of both. When all 3 stacks are built, the hcc layer is built to
- run over all of them.
-
- If for any reason you need to run signalling over some VPI/VCI pair other
- than 0/5, avoid using the buildstack procedure for that stack and
- instead, expressly issue the command to build each layer. For example in
- the above example, if the port on /hw/atm/2 is attached to a switch that
- expects signalling on VPI=2,VCI=5, then you would replace the call to
- buildstack 3 /hw/atm/2 AF31 AF31
- with the lines
- build aal5atm 3 /hw/atm/2 2 5
- build qsaal AF31 3
- build q93b AF31 3
-
- _V_E_R_B_O_S_I_T_Y-_C_O_N_T_R_O_L _C_O_M_M_A_N_D_S
-
- These control the level of output generated by aaaattttmmmmssssiiiiggggdddd when running in
- interactive mode. When running in daemon mode (with the ----dddd option),
- aaaattttmmmmssssiiiiggggdddd does not generate any output at all, except for critical error
- messages logged with syslogd (i.e. check /usr/adm/SYSLOG). So verbosity
- is only useful if running the atmsigd in interactive mode. Print levels
- settable with the verbosity-control commands are
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- aaaattttmmmmssssiiiiggggdddd((((1111MMMM)))) aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
-
-
-
- 1 ERROR messages only
-
- 2 TERSE informational messages
-
- 3 VERBOSE informational messages, pretty much every PDU sent and received.
-
- (Warning: VERBOSE in the qsaal layer traces every poll message and there
- are lots of these.)
-
- Verbosity can be independently controlled for each stack module. The
- module must exist before its verbosity level can be set i.e. the _b_u_i_l_d
- command for a module must preceded its verbosity-setting command, The
- default verbosity-level is 1 (ERROR). To raise these levels, use one of
- the following commands:
-
- hhhhcccccccc ppppllll <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
-
- qqqq99993333bbbb ppppllll <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
-
- qqqqssssaaaaaaaallll ppppllll <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
-
- aaaaaaaallll5555 ppppllll <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
-
- If running in interactive mode, stdout should be redirected to some
- appropriate disk file as output can be fairly heavy. This mode should
- only be used if needed to debug cause of failure of connection setups.
-
- _O_T_H_E_R _C_O_N_T_R_O_L _C_O_M_M_A_N_D_S
-
- These are listed here for completeness but are not recommended for
- general use.
-
- The aaaattttmmmmssssiiiiggggdddd also has a manager module in it, through which it is possible
- to issue commands to clear or restart specific VCs or even the entire
- interface. These commands are:
-
- mmmmnnnnggggrrrr cccclllleeeeaaaarrrr <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<vvvvppppiiii>>>> <<<<vvvvcccciiii>>>>
- clear a particular VC.
-
- mmmmnnnnggggrrrr rrrreeeessssttttaaaarrrrtttt <<<<ssssttttaaaacccckkkkiiiidddd>>>>
- restart the entire interface (this tears down all existing VCs).
-
- mmmmnnnnggggrrrr ppppllll <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>> set verbosity level for the manager module
-
- The qsaal layer has a number of tweakable parameters, and these should
- only be changed with extreme caution and a good understanding of the
- SSCOP protocol. Qsaal layer commands include:
-
- qqqqssssaaaaaaaallll eeeesssstttt <<<<ssssttttaaaacccckkkkiiiidddd>>>>
- initiate SSCOP connection to switch
-
- qqqqssssaaaaaaaallll rrrreeeellll <<<<ssssttttaaaacccckkkkiiiidddd>>>>
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-
-
-
- aaaattttmmmmssssiiiiggggdddd((((1111MMMM)))) aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
-
-
-
- tear down SSCOP connection to switch
-
- qqqqssssaaaaaaaallll ccccrrrreeeeddddiiiitttt <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<++++////----nnnnuuuummmmbbbbeeeerrrr>>>>
-
- qqqqssssaaaaaaaallll cccccccc----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
-
- qqqqssssaaaaaaaallll ppppoooollllllll----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
-
- qqqqssssaaaaaaaallll kkkkeeeeeeeeppppaaaalllliiiivvvveeee----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
-
- qqqqssssaaaaaaaallll nnnnoooorrrreeeesssspppp----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
-
- qqqqssssaaaaaaaallll ssssttttaaaatttt----lllleeeennnnggggtttthhhh <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<lllleeeennnnggggtttthhhh>>>>
-
- _G_E_N_E_R_A_L _T_C_L _C_O_M_M_A_N_D_S
-
- A couple of useful ones are:
-
- eeeexxxxiiiitttt
-
- Ask aaaattttmmmmssssiiiiggggdddd to terminate.
-
- ssssoooouuuurrrrcccceeee <<<<ffffiiiilllleeeennnnaaaammmmeeee>>>>
-
- If running the aaaattttmmmmssssiiiiggggdddd in interactive mode, to avoid having to enter all
- the usual stackbuilding commands, just use _s_o_u_r_c_e /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l.
-
- FFFFIIIILLLLEEEESSSS
- /usr/etc/atmsigd
- /var/atm/atmsigd.tcl
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- atm(7M), if_atm(7M), atmilmid(1M), atmconfig(1M), atmstat(1M),
- ifatmconfig(1M)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 6666
-
-
-
-